package com.deer.wms.instock.model.transfer;

import com.deer.wms.project.root.model.BaseEntity;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 转移单  库内的库存操作都是通过这个单据记录
 *
 * @author : wei
 * @since : 2022-01-08 14:04:44
 **/
@Getter
@Setter
@NoArgsConstructor
@Table(name = "transfer_bill")
public class TransferBill extends BaseEntity {

    /**
     * 转移单号
     */
    private String transferBillCode;

    /**
     * 单据类型<p>
     * 0-装箱  无来源容器  有目标容器<p>
     * 2-上架  有来源容器，有目标库位<p>
     * 4-转移  同上<p>
     * 6-整箱拣货  同上<p>
     * 8-分拣  有来源容器，有目标容器
     */
    private Integer billType;

    /**
     * 状态 <p>
     * 0-新建<p>
     * 2-完成
     */
    private Integer state;

    /**
     * 仓库id
     */
    private Integer wareId;

    /**
     * 仓库编码
     */
    private String wareCode;

    /**
     * 仓库名称
     */
    private String wareName;

    /**
     * 源库位编码
     */
    private String fromCellCode;

    /**
     * 目标库位编码
     */
    private String toCellCode;

    /**
     * 源容器条码
     */
    private String fromBoxCode;

    /**
     * 目标容器条码
     */
    private String toBoxCode;

    /**
     * 批次id
     */
    private Integer batchId;

    /**
     * 批次编码
     */
    private String batchName;

    /**
     * 物料编码
     */
    private String itemCode;

    /**
     * 物料名称
     */
    private String itemName;

    /**
     * 数量
     */
    private BigDecimal qty;

    /**
     * 包装
     */
    private Integer packDetailId;

    /**
     * 冻结标识
     */
    private Integer freezeFlag;

    /**
     * 单据确认人id
     */
    private Integer confirmUserId;

    /**
     * 单据确认人
     */
    private String confirmUserName;

    /**
     * 单据确认日期
     */
    private String confirmTime;

    /**
     * 备注
     */
    private String remark;

    /**
     * 供应商id
     */
    private Integer supplierId;

    /**
     * 供应商名称
     */
    private String supplierName;

    /**
     * 部门id
     */
    private Integer deptId;

/**
     * 部门名称
     */
    private String deptName;

    /**
     * erp回传仓库id判断直发虚仓，
     */
    private Integer asnStockId;

    /**
     * erp回传仓库名称判断是否直发虚仓
     */
    private String asnStockName;

    /**
     * 来源库存ID
     */
    private Integer fromInvId;

}
